Title Banner

Previous Book Contents Book Index Next

Inside Macintosh: QuickDraw GX Printing Extensions and Drivers /
Chapter 4 - Printing Messages


Summary of Printing Messages

Data Types for Printer Drivers

The Print-to-File Structure

struct gxPrintDestinationRec {
   Boolean     printToFile;   /* true if printing to file */
   FSSpec      fSpec;         /* print file FSSpec */
   Boolean     includeFonts;  /* true if system fonts included in file */
   Str31       fileFormat;    /* file format name */
};
typedef struct gxPrintDestinationRec gxPrintDestinationRec, 
*gxPrintDestinationPtr, **gxPrintDestinationHdl;

The Printing Buffer Structure

struct gxPrintingBuffer {
   long     size;       /* size of buffer in bytes */
   long     userData;   /* ID assigned by driver or extension for buffer */
   char     data[1];    /* array of data bytes, size bytes long */
};
typedef struct gxPrintingBuffer gxPrintingBuffer;

The Page Information Structure

struct gxPageInfoRecord {
   long     docPageNum;    /* number of page being printed */
   long     copyNum;       /* copy number being printed */
   Boolean  formatChanged; /* whether format changed from prev */
   Boolean  pageChanged;   /* whether contents changed */
   long     internalUse;   /* private */
};
typedef struct gxPageInfoRecord gxPageInfoRecord;

Constants and Data Types for Macintosh Printing Manager Compatibility

The Universal Print Structure

struct gxUniversalPrintRecord {
   short    prVersion;        /* print record version */
                              /* prInfo subrecord... */
   short    appDev;           /* device kind, always 0 */
   short    appVRes;          /* application vert resolution */
   short    appHRes;          /* application horiz resolution */
   Rect     appPage;          /* page size, in application resolution */
   Rect     appPaper;         /* paper rectangle [offset from appPage] */
                              /* prStl subrecord... */
   short    devType;          /* device type, always 0 (wDev) */
   short    pageV;            /* page height in 120ths of inch */
   short    pageH;            /* page width in 120ths of inch */
   char     filler;           /* unused */
   char     feed;             /* feed mode */
                              /* prInfoPT subrecord... */
   short       devKind;       /* device kind, always 0xA900 */
   short       devVRes;       /* device vertical resolution */
   short       devHRes;       /* device horizontal resolution */
   Rect        devPage;       /* device page size */
                              /* prXInfo subrecord... */
   short       actualCopies;  /* actual number of copies for this job */
   short       options;       /* options for this device */
   short       reduction;     /* reduction/enlargement factor */
   char        orientation;   /* orientation of paper  */
   char        qualityMode;   /* type of quality mode */
   char        firstTray;     /* type of first feed tray */
   char        remainingTray; /* type of remaining feed tray */
   char        coverPage;     /* type of cover page */
   char        headMotion;    /* type of head motion */
   char        saveFile;      /* type of save file */
   
   char        userCluster1;  /* unused */
   char        userCluster2;  /* unused */
   char        userCluster3;  /* unused */
                              /* prJob subrecord... */
   short       firstPage;     /* number of the first page */
   short       lastPage;      /* number of the last page */
   short       copies;        /* # of copies, always 1 */
   char        reserved1;     /* always true, unused */
   char        reserved2;     /* always true, unused */
   PrIdleProcPtr
               pIdleProc;     /* pointer to the idle proc */
   Ptr         pFileName;     /* pointer to the spool filename */
   short       fileVol;       /* spool file volume reference number */
   char        fileVers;      /* file version, must be 0 */
   char        reserved3;     /* always 0 */
   short    printX[19];       /* internal use */
};
typedef struct gxUniversalPrintRecord gxUniversalPrintRecord, 
*gxUniversalPrintRecordPtr, **gxUniversalPrintRecordHdl;

Feed Mode Options for the Universal Print Structure

enum {
   gxAutoFeed     = 0,        /* use automatic paper feeding */
   gxManualFeed   = 1         /* use manual paper feeding */
};

Print Options for the Universal Print Structure

enum {
   gxPreciseBitmap      = 0x0001,   /* tall adjust(IW), precise bitmap(LW) */
   gxBiggerPages        = 0x0002,   /* no gaps(IW), larger print area(LW) */
   gxGraphicSmoothing   = 0x0004,   /* graphics smoothing for LW */
   gxTextSmoothing      = 0x0008,   /* text smoothing for SC */
   gxFontSubstitution   = 0x0010,   /* font substitution */
   gxInvertPage         = 0x0020,   /* black/white image inversion */
   gxFlipPageHoriz      = 0x0040,   /* flip page image horizontally */
   gxFlipPageVert       = 0x0080,   /* flip page image vertically */
   gxColorMode          = 0x0100,   /* use color printing */
   gxBidirectional      = 0x0200,   /* use bidirectional printing */
   gxUserFlag0          = 0x0400,   /* user flag 0 */
   gxUserFlag1          = 0x0800,   /* user flag 1 */
   gxUserFlag2          = 0x1000,   /* user flag 2 */
   gxReservedFlag0      = 0x2000,   /* reserved flag 0 */
   gxReservedFlag1      = 0x4000,   /* reserved flag 1 */
   gxReservedFlag2      = 0x8000    /* reserved flag 2 */
};

Paper Orientation Options for the Universal Print Structure

enum {
   gxPortraitOrientation      = 0,  /* use portrait orientation  */
   gxLandscapeOrientation     = 1,  /* use landscape orientation */
   gxAltPortraitOrientation   = 2,  /* use rotated portrait orientation  */
   gxAltLandscapeOrientation  = 3   /* use rotated landscape orientation */
};

Print Quality Modes for the Universal Print Structure

enum {
   gxBestQuality              = 0,     /* use best-quality printing */
   gxFasterQuality            = 1,     /* use medium-quality printing */
   gxDraftQuality             = 2      /* use draft-quality printing */
};

Paper Tray Selections for the Universal Print Structure

enum {
   gxFirstTray    = 0,        /* use first paper-feed tray */
   gxSecondTray   = 1,        /* use second paper-feed tray */
   gxThirdTray    = 2         /* use third paper-feed tray */
};

Cover Page Options for the Universal Print Structure

enum {
   gxNoCoverPage     = 0,        /* don't print a cover page */
   gxFirstPageCover  = 1,        /* print cover page before first page */
   gxLastPageCover   = 2         /* print cover page after last page */
};

Print-Head Motions for the Universal Print Structure

enum {
   gxUnidirectionalMotion  = 0,  /* use one-directional print-head motion */
   gxBidirectionalMotion   = 1   /* print in both directions */
};

File Save Types for the Universal Print Structure

enum {
   gxNoFile          = 0,        /* not saving print job to file */
   gxPostScriptFile  = 1         /* save print job to PostScript file */
};

Constants and Data Types for the Raster Imaging System

Raster Offscreen Structure

struct gxOffscreenRec {
   short       numberOfPlanes;      /* the number of planes */
   Handle      offscreenStorage;    /* handle to the image data */
   gxOffscreenPlaneRec
               thePlanes[1];        /* array of planes to draw in */
};
typedef struct gxOffscreenRec gxOffscreenRec, *gxOffscreenPtr, 
**gxOffscreenHdl;

Raster Offscreen Plane Structure

struct gxOffscreenPlaneRec {
   gxViewPort     theViewPort;      /* view port for offscreen plane */
   gxViewDevice   theDevice;        /* view device for offscreen plane */
   gxViewGroup    theViewGroup;     /* view group for offscreen plane */
   gxShape        theBitmap;        /* shape object for offscreen bitmap */
   gxBitMap       theBits;          /* actual bitmap data for this area */
};
typedef struct gxOffscreenPlaneRec gxOffscreenPlaneRec;

Raster Offscreen Setup Structure

struct gxOffscreenSetupRec {
   short       width;               /* width in pixels of raster */
   short       minHeight;           /* minimum height in pixels */
   short       maxHeight;           /* maximum height in pixels */
   Fixed       ramPercentage;       /* maximum % of RAM to use for raster */
   long        ramSlop;             /* amount of RAM to leave free */
   short       depth;               /* depth in bits of each plane */
   gxMapping   vpMapping;           /* mapping for offscreen view ports */
   gxMapping   vdMapping;           /* mapping for offscreen view devices */
   short       planes;              /* number of planes to allocate */
   gxPlaneSetupRec
               planeSetup[4];       /* parameters for each plane */
};
typedef struct gxOffscreenSetupRec gxOffscreenSetupRec;

Raster Offscreen Plane Setup Structure

struct gxPlaneSetupRec {
   gxRasterPlaneOptions 
                  planeOptions;     /* options for this plane */
   gxHalftone     planeHalftone;    /* halftone values for this plane */
   gxColorSpace   planeSpace;       /* color space for this plane */
   gxColorSet     planeSet;         /* color set for this plane */
   gxColorProfile planeProfile;     /* color profile for this plane */
};
typedef struct gxPlaneSetupRec gxPlaneSetupRec;

Raster Plane Options

enum {
   /* default value: driver allocates bits & creates halftone values */
   gxDefaultOffscreen      = 0x00000000,,
   /* driver does not call the GXSetViewPortHalftone function */
   gxDontSetHalftone       = 0x00000001,  
   /* driver calls GXSetViewPortDither function with gxDotType dithering */
   gxDotTypeIsDitherLevel  = 0x00000002
};
typedef long gxRasterPlaneOptions;

Raster Package Bitmap Structure

struct gxRasterPackageBitmapRec {
   gxBitmap    *bitmapToPackage; /* pointer to bitmap containing the data */
   unsigned short startRaster;   /* raster where packaging begins */
   unsigned short colorBand;     /* color pass of this package */
   Boolean        isBandDirty;   /* whether there are any non-white */
                                 /*  bits in this band */
   Rect           dirtyRect;     /* area containing nonwhite bits*/
};
typedef struct gxRasterPackageBitmapRec gxRasterPackageBitmapRec;

Raster Imaging System Structure

struct gxRasterImageDataRec {
   /* setup values */
   gxRasterRenderOptions      renderOptions;    /* rendering options */
   Fixed                      hImageRes;        /* horizontal resolution */
   Fixed                      vImageRes;        /* vertical resolution */
   short                      minBandSize; /* minimum band size in pixels */
   short                      maxBandSize; /* maximum band size in pixels */
   gxRectangle                pageSize;         /* size of page in pixels */
   short                      currentYPos;   /* position on page */
   gxRasterPackageRec         packagingInfo; /* raster package structure */
   Boolean                    optionsValid;  /* true if options specified */
   gxRasterPackageControlsRec packageControls; /* raster package controls */
   gxOffscreenSetupRec        theSetup;      /* offscreen setup info */
};
typedef struct gxRasterImageDataRec gxRasterImageDataRec, 
*gxRasterImageDataPtr, **gxRasterImageDataHdl;

Raster Render Options

enum {
   gxDefaultRaster   = 0x00000000,  /* default options */
   gxDontResolveTransferModes
                     = 0x00000001,  /* 0=resolve xfer modes, 1=don't */
   gxRenderInReverse = 0x00000002,  /* traverse image in reverse */
   gxOnePlaneAtATime = 0x00000004,  /* render each plane separately */
   gxSendAllBands    = 0x00000008   /* send even empty bands */
};
typedef long gxRasterRenderOptions;

Raster Package Structure

struct gxRasterPackageRec {
   Ptr      bufferSize;       /* buffer size of packaging */
   short    colorPasses;      /* number of color passes */
   short    headHeight;       /* height of print head in pixels */
   short    numberPasses;     /* number of passes per headheight */
   short    passOffset;       /* offset between passes, in pixels */
   gxRasterPackageOptions
            packageOptions;   /* packaging options */
};
typedef struct gxRasterPackageRec gxRasterPackageRec, *gxRasterPackagePtr, 
**gxRasterPackageHdl;

Raster Package Options

enum {      /* bit fields in gxRasterPackageOptions */
   gxSendAllColors   = 0x00000001,  /* send even clean bands */
   gxInterlaceColor  = 0x00000002,  /* ribbon contamination */
   gxOverlayColor    = 0x00000004,  /* no ribbon problem */
   gxUseColor        = (gxInterlaceColor|gxOverlayColor)
};
typedef long gxRasterPackageOptions;

Constants and Data Types for the Vector Imaging System

Vector Haltone Structure

struct gxVHalftoneRec {
   gxColorSpace         halftoneSpace;    /* color space for device */
   gxHalftoneCompRec    halftoneComps[4]; /* array of halftone structures */
   long                 penIndexForBW;    /* pen index for drawing 1-bit */
                                          /*  deep black&white bitmaps */
};
typedef struct gxVHalftoneRec gxVHalftoneRec;

Vector Halftone Component Structure

struct gxVHalftoneCompRec {
   Fixed    angle;      /* angle to halftone at-this value must
                             be 0, 45, 90, or 135 */
   long     penIndex;   /* index of the pen to use for this component */
};
typedef struct gxVHalftoneCompRec gxVHalftoneCompRec;

Vector Shape Structure

struct gxVectorShapeDataRec {
   gxVectorShapeOptions 
         shapeOptions;  /* options to control shape handling */
   long  maxPolyPoints; /* max polygon points device can support */
   Fixed shapeError;    /* the allowed deviation from original shape */
   Fixed textSize;      /* delimits filled from outlined text */
   Fixed frameSize;     /* delimits filled from stroked shapes */
};
typedef struct gxVectorShapeDataRec gxVectorShapeDataRec;

Vector Shape Options

enum {
   gxUnidirectionalFill    = 0x00000001,  /* driver needs to generate scan 
                                               lines in 1 direction only */
   gxAlsoOutlineFilledShape= 0x00000002   /* driver also needs to draw the 
                                               outlines of filled shapes */
};
typedef long gxVectorShapeOptions;

Vector Imaging System Structure

struct gxVectorImageDataRec {/* vector imaging system structure */
   gxVectorRenderOptions   renderOptions; /* options for vector rendering */
   Fixed                   devRes;        /* resolution of device */
   gxTransform             devTransform;  /* transform object for device */
   gxColorSet              clrSet;        /* set of colors on device */
   gxColor                 bgColor;       /* background color */
   gxVHaltoneRec           halftoneInfo;  /* halftone info for color */
   gxPenTableHdl           hPenTable;     /* complete list of device pens */
   gxRectangle             pageRect;      /* dimensions of the page */
   gxVectorShapeDataRec    shapeData;     /* info on how to render shapes */
};
typedef struct gxVectorImageDataRec gxVectorImageDataRec, 
*gxVectorImageDataPtr, **gxVectorImageDataHdl;

Vector Render Options

enum {
   gxColorSort    = 0x00000001,     /* must use this for pen plotters */
   gxATransferMode= 0x00000002,     /* driver needs to resolve xfer modes */
   gxNoOverlap    = 0x00000004,     /* driver needs to produce
                                        non-overlapping output */
   gxAColorBitmap = 0x00000008,     /* driver needs to produce color bitmap
                                        output */
   gxSortbyPenPos = 0x00000010,     /* driver needs to draw shapes in same
                                        order as pens in pen table */
   gxPenLessPlotter=0x00000020,     /* output device is raster printer or
                                        plotter */
   gxCutterPlotter= 0x00000040,     /* output device has a cutter */
   gxNoBackGround = 0x00000080      /* shapes that map to background color 
                                        are not sent to the device */
};
typedef long gxVectorRenderOptions;

Vector Pen Table Structure

struct gxPenTable {
   long              numPens; /* number of pen entries in the array */
   gxPenTableEntry   pens[1]; /* array of pen entries */
};
typedef struct gxPenTable gxPenTable, *gxPenTablePtr, **gxPenTableHdl;

Vector Pen Table Entry Structure

struct gxPenTableEntry { 
   Str31      penName;        /* name of the pen */
   gxColor    penColor;       /* color that's part of the color set */
   Fixed      penThickness;   /* size of the pen */
   short      penUnits;       /* the units in which pen size is defined */
   short      penPosition;    /* pen position in the carousel; if pen is 
                                   not loaded, value is kPenNotLoaded (-1) */
   
};
typedef struct gxPenTableEntry gxPenTableEntry;

Vector Pen Units

enum {
   gxDeviceUnits  = 0,
   gxMMUnits      = 1,
   gxInchesUnits  = 2
};

Constants and Data Types for the PostScript Imaging System

PostScript Imaging System Structure

struct gxPostScriptImageDataRec {
   short          languageLevel; /* PostScript language level */
   gxColorSpace   devCSpace;     /* the printer's color space */
   gxColorProfile devCProfile;   /* the printer's color profile */
   gxPostScriptRenderOptions
                  renderOptions; /* rendering options */
   long           pathLimit;     /* maximum number of points in a path */
   short          gsaveLimit;    /* maximum gsaves allowed */
   short          opStackLimit;  /* maximum number of objects in stack */
   scalerStreamFontFlag
                  fontType;      /* stream type to use when downloading a 
                                      font */
   long           printerVM;     /* the amount of printer memory */
   long           reserved0;     /* unused */
};
typedef struct gxPostScriptImageDataRec gxPostScriptImageDataRec, 
*gxPostScriptImageDataPtr, **gxPostScriptImageDataHandle;

PostScript Render Options

enum {
   /* driver needs to convert binary data to 7-bit ASCII values */
   gxNeedsAsciiOption            = 0x00000001,
   /* driver needs to issue PostScript comments */
   gxNeedsCommentsOption         = 0x00000002,
   /* driver needs to calculate bounding box values */
   gxBoundingBoxesOption         = 0x00000004,
   /* driver needs to generate non-device-specific Postscript output */
   gxPortablePostScriptOption    = 0x00000008,
   /* driver needs to use Level 2 device-independent color when 
       printing to a Level 2 output device */
   gxUseLevel2ColorOption        = 0x00000080
};
typedef long gxPostScriptRenderOptions;

PostScript Glyphs Structure

struct gxPrinterGlyphsRec {
   gxFont         theFont;    /* the font */
   long           nGlyphs;    /* how many glyphs it contains */
   gxFontPlatform platform;   /* the platform of the font */
   gxFontScript   script;     /* the script code of the font */
   gxFontLanguage language;   /* the language code of the font */
   long           vmUsage;    /* amount of printer memory needed for font */
   unsigned long  glyphBits[1];/* the glyph data */
};
typedef struct gxPrinterGlyphsRec gxPrinterGlyphsRec;

PostScript Procedure Set List Structure

struct gxProcSetListRec {
   Signature   clientid;      /* unique client ID */
   OSType      controlType;   /* resource type of procedure set */
   short       controlid;     /* resource ID of procedure set */
   OSType      dataType;      /* data type of procedure set */
   long        reserved0;
};
typedef struct gxProcSetListRec gxProcSetListRec, *gxProcSetListPtr, 
**gxProcSetListHdl;

PostScript Query Results

enum {
   gxPrinterOK          = 0,     /* printer is initialized and ok */
   gxInitializePrinter  = 1,     /* printer needs initialization */
   gxFilePrinting       = 2,     /* printing to file */
   gxResetPrinter       = 128    /* printer needs resetting */
};

User Interface Constants and Data Types

The Panel Information Structure

struct gxPanelInfoRecord {
   gxPanelEvent panelEvt;  /* the event */
   short panelResId;       /* resource ID of current 'ppnl' res */
   DialogPtr pDlg;         /* pointer to dialog */
   EventRecord *theEvent;  /* pointer to event */
   short itemHit;          /* actual item number of event */
   short itemCount;        /* number of items before your items */
   short evtAction;        /* the action that will occur after
                               this event is processed */
   short errorStringId;    /* 'STR ' ID of error string */
   gxFormat theFormat;     /* the current format */
   void *refCon;           /* refCon from gxPanelSetupRecord */
};
typedef struct gxPanelInfoRecord gxPanelInfoRecord;

Panel Events

enum {
   gxPanelNoEvt      = (gxPanelEvent) 0,     /* no event */
   gxPanelOpenEvt    = (gxPanelEvent) 1,     /* panel is about to open */
   gxPanelCloseEvt   = (gxPanelEvent) 2,     /* panel is about to close */
   gxPanelHitEvt     = (gxPanelEvent) 3,     /* user has selected item */
   gxPanelActivateEvt= (gxPanelEvent) 4,     /* panel has been activated */
   gxPanelDeactivateEvt= (gxPanelEvent) 5,   /* panel has been deactivated */
   gxPanelIconFocusEvt= (gxPanelEvent) 6,    /* focus has changed to icons */
   gxPanelPanelFocusEvt= (gxPanelEvent) 7,   /* focus has changed to panel */
   gxPanelFilterEvt  = (gxPanelEvent) 8,     /* panel event needs to be
                                                 filtered */
   gxPanelCancelEvt  = (gxPanelEvent) 9,     /* panel has been canceled */
   gxPanelConfirmEvt = (gxPanelEvent) 10,    /* panel has been confirmed */
   gxPanelDialogEvt  = (gxPanelEvent) 11,    /* panel event to be handled 
                                                 by the dialog box handler */
   gxPanelOtherEvt   = (gxPanelEvent) 12,    /* an OS event has occurred 
                                                 in the panel */
   gxPanelUserWillConfirmEvt
                     = (gxPanelEvent) 13     /* user has selected confirm */
};
typedef long gxPanelEvent;

Panel Responses

enum {
   gxPanelNoResult            = 0,  /* no result from panel */
   gxPanelCancelConfirmation  = 1,  /* user confirmed panel, but panel
                                        handler discovered an error */
};

typedef long gxPanelResult;

Panel Event Actions

enum {
   gxOtherAction      = 0,       /* current item doesnt change after event */
   gxClosePanelAction = 1,       /* panel is closed after event */
   gxCancelDialogAction = 2,     /* dialog box is canceled after event */
   gxConfirmDialogAction= 3      /* dialog box is confirmed after event */
};

Parse Range Results

enum {
   gxRangeNotParsed  = (gxParsePageRangeResult) 0,    /* not parsed yet */
   gxRangeParsed     = (gxParsePageRangeResult) 1,    /* successful parse */
   gxRangeBadFromValue= (gxParsePageRangeResult) 2,   /* the "from page" */
                                                      /*  value is invalid */
   gxRangeBadToValue = (gxParsePageRangeResult) 3     /* the "to page" */
                                                      /*  value is invalid */
};
typedef short gxParsePageRangeResult;

The Status Structure

struct gxStatusRecord {
   unsigned short statusType;    /* the type of status */
   unsigned short statusId;      /* specific status ID  */
   unsigned short statusAlertId; /* printing alert ID for status */
   Signature      statusOwner;   /* status owner signature */
   short          statResId;     /* resource ID for 'stat' resource */
   short          statResIndex;  /* index into 'stat' resource */
   short          dialogResult;  /* ID of button selected to
                                     dismiss the printing alert box */
   unsigned short bufferLen;     /* # of bytes in status buffer */
   char           statusBuffer[1];  /* user response from alert */
};
typedef struct gxStatusRecord gxStatusRecord;

The Manual Feed Structure

struct gxManualFeedRecord {
   Boolean  canAutoFeed;   /* whether driver can switch to auto feed */
   Str31    paperTypeName; /* name of paperType to feed */
};
typedef struct gxManualFeedRecord gxManualFeedRecord;

The Display Structure

struct gxDisplayRecord {   /* for GXWriteStatusToDTPWindow message */
   Boolean  useText;       /* true if displaying text, false for picture */
   Handle   hPicture;      /* handle for the picture to display
                               (unimplemented & reserved for future use) */
   Str255   theText;       /* the text to display */
};
typedef struct gxDisplayRecord gxDisplayRecord;

Printing Messages

Storage Messages

OSErr GXInitialize(void);
OSErr GXShutDown(void);
OSErr GXFetchTaggedData(ResType aResType, short id, 
Handle *aHandle, Signature owner);

Print Object Messages

OSErr GXDefaultJob(void);
OSErr GXDefaultFormat(gxFormat aFormat);
OSErr GXDefaultPaperType(gxPaperType aPaperType);
OSErr GXDefaultPrinter(gxPrinter aPrinter);
OSErr GXDefaultDesktopPrinter
(Str31 dtpName);

Application Messages

OSErr GXStartJob			(StringPtr docName, long pageCount);
void GXCleanupStartJob      (void);
OSErr GXFinishJob           (void);
OSErr GXJobIdle             (void);
OSErr GXStartPage           (gxFormat aFormat, long numViewPorts, 
                             gxViewPort *viewPortList);
void GXCleanupStartPage     (void);
OSErr GXFinishPage          (void);
void GXPrintPage            (gxFormat aFormat, gxShape aPage);
void GXJobFormatModeQuery	(gxQueryType aQueryType,
                             void *srcData, void *dstData);
OSErr GXParsePageRange      (StringPtr fromString, StringPtr toString,
                             gxParsePageRangeResult *result);

Paper-Handling Messages

OSErr GXDoesPaperFit(gxTrayIndex whichTray, gxPaperType paper, 
                     Boolean *fits);

Color Profile Messages

OSErr GXFindPrinterProfile(gxPrinter thePrinter, void *searchData,
                           long index, gxColorProfile *returnedProfile,
                           long *numProfiles);
OSErr GXFindFormatProfile (gxFormat theFormat, void *searchData,
                           long index, gxColorProfile *returnedProfile,
                           long *numProfiles);
OSErr GXSetPrinterProfile (gxPrinter thePrinter,
                           gxColorProfile oldProfile,
                           gxColorProfile newProfile);
OSErr GXSetFormatProfile  (gxFormat theFormat, 
                           gxColorProfile oldProfile,
                           gxColorProfile newProfile);

Spooling Messages

OSErr GXCreateSpoolFile		(FSSpecPtr aFSSpecPtr,
                             long createOptions, gxSpoolFile *aSpoolFile);
OSErr GXSpoolPage           (gxSpoolFile aSpoolFile, gxFormat aFormat, 
                             gxShape aShape);
OSErr GXSpoolData           (gxSpoolFile aSpoolFile, Ptr data, 
                             long *length);
OSErr GXSpoolResource       (gxSpoolFile aSpoolFile, Handle aResource, 
                             ResType aType, short id);
OSErr GXCompleteSpoolFile   (gxSpoolFile aSpoolFile);

Despooling Messages

OSErr GXCountPages		(gxSpoolFile aSpoolFile, long *numPages);
OSErr GXDespoolPage     (gxSpoolFile aSpoolFile,
                         long pageNum, gxFormat aFormat,
                         gxShape *aShape, Boolean *formatChanged);
OSErr GXDespoolData     (gxSpoolFile aSpoolFile,
                         Ptr data, long *length);
OSErr GXDespoolResource (gxSpoolFile aSpoolFile,
                         ResType aType, short id,
                         Handle *aResource);
OSErr GXExamineSpoolFile(gxSpoolFile aSpoolFile); 
OSErr GXCloseSpoolFile  (gxSpoolFile aSpoolFile,
                         long closeOptions);

Dialog Box Messages

OSErr GXPrintingEvent		(EventRecord *anEventRecord,
                            Boolean filterEvent); 
OSErr GXJobDefaultFormatDialog
                            (gxDialogResult *aDialogResult);
OSErr GXFormatDialog        (gxFormat aFormat, StringPtr title, 
                            gxDialogResult *aDialogResult);
OSErr GXJobPrintDialog      (gxDialogResult *aDialogResult);
OSErr GXHandlePanelEvent    (gxPanelInfoRecord *aPanelInfoRecord
                            gxPanelResult *panelResult);
OSErr GXFilterPanelEvent    (gxPanelInfoRecord *aPanelInfoRecord; 
                            Boolean *returnImmed);

Universal Imaging Messages

OSErr GXJobStatus(gxStatusRecord *aStatusRecord);
OSErr GXCaptureOutputDevice(Boolean capture); 
OSErr GXImageJob(gxSpoolFile aSpoolFile,
long *closeOptions); 
OSErr GXCreateImageFile(FSSpecPtr aFSSpecPtr, 
long imageFileOptions, long *fileReference); 
OSErr GXSetupImageData(void *imageData); 
OSErr GXImageDocument(gxSpoolFile aSpoolFile, void *imageData); 
OSErr GXImagePage(gxSpoolFile aSpoolFile, long pageNumber,
gxFormat aFormat, void *imageData); 
OSErr GXRenderPage(gxFormat aFormat,gxShape aShape, 
gxPageInfoRecord *aPageInfoRecord,
void *imageData); 

Raster Imaging Messages

OSErr GXRasterDataIn(gxOffscreenHdl offScreen, 
gxRectangle *bandRectangle,
gxRectangle *dirtyRectangle); 
OSErr GXRasterLineFeed(short *lineFeedSize,
Ptr buffer, unsigned long *bufferPos,
gxRasterImageDataHdl imageData); 
OSErr GXRasterPackageBitmap(gxRasterPackageBitmapRec *whattoPackage,
Ptr buffer, unsigned long *bufferPos,
gxRasterImageDataHdl imageData); 

PostScript Imaging Messages

OSErr GXPostScriptQueryPrinter
(long *queryResult); 
OSErr GXPostScriptInitializePrinter
(void);
OSErr GXPostScriptResetPrinter
(void); 
OSErr GXPostScriptExitServer(void); 
OSErr GXPostScriptGetStatusText
(Handle statusTextHdl); 
OSErr GXPostScriptGetPrinterText
(Handle printerTextHdl); 
OSErr GXPostScriptScanStatusText
(Handle statusTextHdl); 
OSErr GXPostScriptScanPrinterText
(Handle printerTextHdl); 
OSErr GXPostScriptGetDocumentProcSetList
(gxProcSetListHdl procSetListHdl,
gxPostScriptImageDataHandle hImageData); 
OSErr GXPostScriptDownloadProcSetList
(gxProcSetListHdl procSetListHdl,
gxPostScriptImageDataHandle hImageData); 
OSErr GXPostScriptGetPrinterGlyphsInformation
(gxPrinterGlyphsRec *glyphPtr); 
OSErr GXPostScriptStreamFont(gxFont fontRef,gxScalerStream *stream); 
OSErr GXPostScriptDoDocumentHeader
(gxPostScriptImageDataHandle hImageData); 
OSErr GXPostScriptDoDocumentSetup
(gxPostScriptImageDataHandle hImageData); 
OSErr GXPostScriptDoDocumentTrailer
(gxPostScriptImageDataHandle hImageData);
OSErr GXPostScriptDoPageSetup
(gxFormat aFormat, long pageIndex,
gxPostScriptImageDataHandle hImageData);
OSErr GXPostScriptSelectPaperType
(gxPaperType aPaperType,long pageIndex, gxPostScriptImageDataHandle hImageData);
OSErr GXPostScriptDoPageTrailer
(gxPostScriptImageDataHandle hImageData);
OSErr GXPostScriptEjectPage(gxPaperType aPaperType, long pageIndex,
long copiesCount, short erasePage,
gxPostScriptImageDataHandle hImageData);
OSErr GXPostScriptProcessShape
(gxShape aShape, long count,
gxTransform list[]);

Vector Imaging Messages

OSErr GXVectorPackageShape(gxShape aShape, long penIndex);
OSErr GXVectorLoadPens(gxPenTableHdl penTable,
long *shapeCounts, Boolean *penTableChanged);
OSErr GXVectorVectorizeShape(gxShape aShape, long penIndex, 
gxVectorShapeDataRec *aVectorShapeDataRec);

Device Communications Messages

OSErr GXOpenConnection(void);
OSErr GXOpenConnectionRetry(ResType commType, void *commData, 
Boolean *pRetry, OSErr saveErr);
void GXCleanupOpenConnection(void);
OSErr GXCloseConnection(void);
OSErr GXStartSendPage(gxFormat pageFormat);
void GXCleanupStartSendPage(void);
OSErr GXFinishSendPage(void);
OSErr GXBufferData(Ptr data, long length, long bufferOptions);
OSErr GXWriteData(Ptr data, long length);
OSErr GXDumpBuffer(gxPrintingBuffer *aPrintingBuffer);
OSErr GXFreeBuffer(gxPrintingBufferPtr *aPrintingBuffer);
OSErr GXFinishSendPlane(void);
OSErr GXCheckStatus(Ptr data, long length, short statusType,
Signature owner);
OSErr GXGetDeviceStatus(Ptr cmdData, long cmdSize, 
Ptr responseData, long *responseSize,
Str255 termination);

Compatibility Messages

OSErr GXPrOpenDoc(THPrint aTHPrint, TPPrPort *aTPPrPort);
OSErr GXPrCloseDoc(TPPrPort aTPPrPort);
OSErr GXPrOpenPage(TPPrPort aTPPrPort, TPRect aTPRect, 
Point resolution);
OSErr GXPrClosePage(TPPrPort aTPPrPort);
OSErr GXPrintDefault(THPrint aTHPrint);
OSErr GXPrStlDialog(THPrint aTHPrint, Boolean *aBoolean);
OSErr GXPrJobDialog(THPrint aTHPrint, Boolean *aBoolean);
OSErr GXPrStlInit(THPrint aTHPrint, TPPrDlg *aTPPrDlg);
OSErr GXPrJobInit(THPrint aTHPrint, TPPrDlg *aTPPrDlg);
OSErr GXPrDlgMain(THPrint aTHPrint, 
PDlgInitProcPtr aPDlgInitProcPtr,
Boolean *aBoolean);
OSErr GXPrValidate(THPrint aTHPrint, Boolean *aBoolean);
OSErr GXPrGeneral(Ptr aPtr);
OSErr GXPrJobMerge(THPrint aTHPrint1, THPrint aTHPrint2);
OSErr GXConvertPrintRecordFrom
(THPrint aTHPrint);
OSErr GXConvertPrintRecordTo(THPrint aTHPrint);
OSErr GXPrintRecordToJob(THPrint aTHPrint, gxJob aJob);

Finder Dialog Box Messages

OSErr GXWriteStatusToDTPWindow
(gxStatusRecord aStatusRecord,
gxDisplayRecord aDisplayRecord);
OSErr GXInitializeStatusAlert
(gxStatusRecord *statRecPtr,
DialogPtr *dPtr);
OSErr GXHandleAlertEvent(gxStatusRecord *aStatusRecord,
DialogPtr *aDialogPtr, EventRecord *theEvent, 
short *itemHit);
OSErr GXHandleAlertStatus(gxStatusRecord *statRecPtr);
OSErr GXHandleAlertFilter(gxJob ajob, gxStatusRecord *aStatus,
DialogPtr aDialog, EventRecord *aEventRecord,
short *itemNum, Boolean *returnImmed);

Finder Menu Messages

OSErr GXGetDTPMenuList(MenuHandle aMenu);
OSErr GXDTPMenuSelect	(short id);


Previous Book Contents Book Index Next

© Apple Computer, Inc.
7 JUL 1996




Navigation graphic, see text links

Main | Page One | What's New | Apple Computer, Inc. | Find It | Contact Us | Help